热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统中高效解决高Buff/Cache占用问题

本文详细探讨了在Linux系统中遇到的高Buff/Cache占用问题及其解决方案,提供了手动清除与定时任务自动化处理的方法。

前言:本文旨在深入解析Linux系统中Buff/Cache占用过高的现象,并提供有效的解决方案,帮助用户更好地管理和优化系统性能。




> free -h


理解Buff与Cache


在Linux操作系统中,'buff'和'cache'主要用于提高系统的读写效率。'buff'通常指的是用于存储文件系统元数据的缓存,而'cache'则是指用于加速数据访问速度的数据缓存。


如何释放Buff/Cache


手动释放方法

> sync
> echo 1 > /proc/sys/vm/drop_caches
> echo 2 > /proc/sys/vm/drop_caches
> echo 3 > /proc/sys/vm/drop_caches



  • sync命令用于将所有未写入的数据从内存同步到磁盘,确保数据安全。

  • echo 1 > /proc/sys/vm/drop_caches用于清除Page Cache,即文件数据缓存。

  • echo 2 > /proc/sys/vm/drop_caches用于清除Slab Cache,这包括了目录项缓存和inode缓存等,这些缓存用于提高文件系统操作的速度。

  • echo 3 > /proc/sys/vm/drop_caches同时清除Page Cache和Slab Cache,全面释放内存资源。


自动化定期清理

为了确保系统长期稳定运行,可以设置定时任务来自动清理缓存:

> vim clean.sh
#!/bin/bash
# 每两小时执行一次缓存清理
echo "开始缓存清理"
sync; sync; sync # 确保所有数据同步到磁盘
sleep 20 # 延迟20秒,保证数据完全写入
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
> chmod +x clean.sh
> crontab -e
# 每两小时执行一次
0 */2 * * * /opt/clean.sh



  • 确保crond服务已启动并设置为开机自启:

  • systemctl start crond.service

  • systemctl enable crond.service

参考资料:原文章链接
关注微信公众号:入门小站,获取更多技术分享。


推荐阅读
  • 在尝试使用Ubuntu 10.04进行Android开发时,遇到了系统无法识别HTC G1设备的情况。本文将详细介绍如何通过配置系统和安装必要的驱动来解决这一问题。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 本文总结了在使用React Native开发过程中遇到的一些常见问题及其解决方法,包括配置错误、依赖问题和特定组件的使用技巧。 ... [详细]
  • 深入解析 Git 代码提交流程及常见问题处理
    本文详细阐述了使用 Git 进行代码提交的具体步骤,并提供了遇到常见问题时的解决方案,旨在帮助开发者更加高效地管理代码。 ... [详细]
  • 本文详细介绍了如何在不同操作系统中设置 Node.js 的环境变量,包括通过命令行、npm 脚本以及直接在代码中设置的方法。 ... [详细]
  • 这个报错出现在userDao里面,sessionfactory没有注入。解决办法:spring整合Hibernate使用test测试时要把spring.xml和spring-hib ... [详细]
  • 利用Selenium框架解决SSO单点登录接口无法返回Token的问题
    针对接口自动化测试中遇到的SSO单点登录系统不支持通过API接口返回Token的问题,本文提供了一种解决方案,即通过UI自动化工具Selenium模拟用户登录过程,从浏览器的localStorage或sessionStorage中提取Token。 ... [详细]
  • 本文探讨了Flutter和Angular这两个流行框架的主要区别,包括它们的设计理念、适用场景及技术实现。 ... [详细]
  • 第三周课堂测试1、使用汇编语言编写指令时,用一些简单的容易记忆的符号来代替二进制指令,比机器语言更为方便,属于高级语言。(B ... [详细]
  • 深入浅出:Hadoop架构详解
    Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
  • CentOS 7 实验记录:解决磁盘故障案例分析
    本文详细记录了一次在 CentOS 7 系统上遇到的磁盘故障处理过程,主要探讨了因额外磁盘缺失但 fstab 文件中仍保留其挂载配置而导致的问题,并提供了具体的解决方案。 ... [详细]
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • 2019年独角兽企业招聘Python工程师标准课程概览
    本文详细介绍了2019年独角兽企业在招聘Python工程师时的标准课程内容,包括Shell脚本中的逻辑判断、文件属性判断、if语句的特殊用法及case语句的应用。 ... [详细]
  • 默认情况下,Git 使用 Nano 编辑器进行提交信息的编辑,但如果您更喜欢使用 Vim,可以通过简单的配置更改来实现这一变化。本文将指导您如何通过修改全局配置文件来设置 Vim 作为默认的 Git 提交编辑器。 ... [详细]
  • Zabbix自定义监控与邮件告警配置实践
    本文详细介绍了如何在Zabbix中添加自定义监控项目,配置邮件告警功能,并解决测试告警时遇到的邮件不发送问题。 ... [详细]
author-avatar
亲爱的常青藤先生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有